package com.cskaoyan.javase.overload._0introduction;

/**
 * 引例，现在有三个需求，需要写三个方法完成：
 * 编写程序，计算两个int类型数据之和，并输出结果
 * 编写程序，计算两个double类型数据之和，并输出结果
 * 编写程序，计算两个long类型数据之和，并输出结果
 * 写完方法后，请问这个程序有哪些缺点呢？
 *
 * 很明显：
 * 这三个方法实现的都是相似的功能，都是求和，只不过是针对的数据类型不同罢了。
 * 在正常情况下，我们认为方法的名字可以用来区分方法，但像引例中功能几乎一样的多个方法，能不能让它们拥有相同的方法名呢？
 * 这样既方便记忆，也方便调用。
 *
 * Java是存在这种机制的，那就是Java的方法重载（overload）机制。
 * 方法重载允许一个类中，多个方法拥有相同的名字。
 * 但名字一旦相同后，多个方法之间又如何区分呢？
 *
 * 所以方法的重载是有条件的。
 *
 * @since 17:10
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {

    }

    // 编写程序，计算两个int类型数据之和，并输出结果
    public static int sumIntValue(int num1, int num2) {
        return num1 + num2;
    }
    // 编写程序，计算两个double类型数据之和，并输出结果
    public static double sumDoubleValue(double num1, double num2) {
        return num1 + num2;
    }
    // 编写程序，计算两个long类型数据之和，并输出结果
    public static long sumLongValue(long num1, long num2) {
        return num1 + num2;
    }

}

